<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <ul>
        <li>11</li>
        <li>22</li>
        <li>33</li>
    </ul>
    <script>
        // 一、set 数据结构 。 集合 ，所有键名的集合 ；
        // 注意 ： 内容不能重复
        // 1.set的创建
        // 方式一：
        // let set = new Set([1,2,3,4,2,3,4]);
        // console.log(set);

        // 方式二 ：
        // let set = new Set();
        // set.add(1);
        // set.add(2);
        // set.add(3);
        // console.log(set);

        // 2.set是否包含某个值  set.has(值)
        // let set = new Set([1,2,3,4]);
        // console.log(set.has(3));

        // 3.删除某个值 ；set.delete(值)
        // let set = new Set([1,2,3,4]);
        // set.delete(3);
        // console.log(set);

        // 4.删除所有set里的值
        // let set = new Set([1,2,3]);
        // set.clear(); // 清空所有的值
        // console.log(set);

        // 5.获取set的长度 ： set.size;
        // let set = new Set([1,2,3,4]);
        // console.log(set.size);

        // 6.获取set里的值 :set.keys()  、set.values()
        // var set = new Set([1,2,3,4]);
        // console.log(set.keys());
        // console.log(set.values());
        // WeakSet

        // 数组的去重
        // var arr = [1,2,1,2,3,3,4];
        // var set = new Set(arr);
        // var newarr = [...set];
        // console.log(newarr);

        // 二、map数据结构 ： Map 字典 ；
        // 键名可以是任意值；
        // 1.map的创建
        // 方式一：
        // let map = new Map([["name","张三"],["age",20],["height","178cm"]]);
        // console.log(map);

        // 方式二：
        // let map = new Map();
        // map.set("name","张三");
        // map.set("age",20);
        // map.set("height","178cm");
        // console.log(map);

        // 2.根据键名获取键值  map.get("键名");
    //     let map = new Map([["name","张三"],["age",20],["height","178cm"]]);
    //    console.log(  map.get("age"));


    // 3.删除某个值 map.delete("age");
        // let map = new Map([["name","张三"],["age",20],["height","178cm"]]);
        // map.delete("age");
        // console.log(map);
    // 4.删除所有的值 ： map.clear();
        // let map = new Map([["name","张三"],["age",20],["height","178cm"]]);
        // map.clear();
        // console.log(map);
    // 5.获取map的长度 size
        // let map = new Map([["name","张三"],["age",20],["height","178cm"]]);
        // console.log(map.size);
    // 6.获取所有的键名和键值 ；
        // let map = new Map([["name","张三"],["age",20],["height","178cm"]]);
        // console.log(map.keys());
        // console.log(map.values());

        // 7.判断是否有某个键名map.has("键名")
        // let map = new Map([["name","张三"],["age",20],["height","178cm"]]);
        // console.log(map.has("name"))


        var lis = document.querySelectorAll("li");
        let map = new Map();
        map.set(lis[0],"red");
        map.set(lis[1],"yellow");
        map.set(lis[2],"blue");
        console.log(map);

        map.forEach((item,key)=>{
            // console.log(key,item);
            key.style.color = item;
        })


        /* 
            var arr = [
                {
                    ele:li0,
                    color:"red"
                },
                {
                    ele:li1,
                    color:"yellow"
                },
                {
                    ele:li2,
                    color:"blue"
                }
            ]
        
        
        */




    </script>
</body>

</html>